package com.pap.upload.file.exception;

public class FileException extends RuntimeException {

	private static final long serialVersionUID = -9017643900656069989L;

	// 参数
	private Object[] parameters;

	// 错误代码，默认为0001
	private String code;

	/**
	 * 构造方法
	 */
	public FileException() {
		this("pap.exception.runtime");
	}

	/**
	 * 构造方法
	 */
	public FileException(Throwable cause) {
		this("pap.exception.runtime", cause);
	}

	/**
	 * 构造方法
	 */
	public FileException(String message) {
		this(message, (String) null);
	}

	/**
	 * 构造方法
	 */
	public FileException(String message, Throwable cause) {
		this(message, (String) null, cause);
	}

	/**
	 * 构造方法
	 */
	public FileException(String message, Object[] parameters) {
		this(message, null, parameters);
	}

	/**
	 * 构造方法
	 */
	public FileException(String message, Object[] parameters, Throwable cause) {
		this(message, null, parameters, cause);
	}

	/**
	 * 构造方法
	 */
	public FileException(String message, String code) {
		this(message, code, null, null);
	}

	/**
	 * 构造方法
	 */
	public FileException(String message, String code, Throwable cause) {
		this(message, code, null, cause);
	}

	/**
	 * 构造方法
	 */
	public FileException(String message, String code, Object[] parameters) {
		this(message, code, parameters, null);
	}

	/**
	 * 构造方法
	 */
	public FileException(String message, String code, Object[] parameters, Throwable cause) {
		super(message, cause);

		// 错误码
		this.code = code;

		// 参数
		this.parameters = parameters;
	}

	public void setParameters(Object[] parameters) {
		this.parameters = parameters;
	}

	public void setCode(String code) {
		this.code = code;
	}

	public Object[] getParameters() {
		return parameters;
	}

	public String getCode() {
		return code;
	}

}